Currently most of the valuable computerized information belonging to a company is stored on computers known in the art as enterprise servers. Examples are mainframes, as well as computers running one of the following operating systems: AS/400, Unix, VAX and NT. Each enterprise server (ES) will have its own database(s) and application(s) to allow access to the information stored in the server. The user interface of these ES applications is generally text-oriented and presented in what are known in the art as “green screens”. Modern applications, by contrast, have graphical user interfaces (GUI) and are more user friendly.
A recent trend in information technology is e-business/e-commerce applications. Its purpose is to give access to information stored in enterprise servers via the Internet or a company Intranet, either by developing new Web-enabled applications or by converting the green screens of existing ES applications to Web-enabled applications, a technique known as “screen wrapping”. The Web-enabled applications are generally either a collection of HyperText Markup Language (HTML) files, or Java code in the form of a Java applet or a stand-alone Java program. Products for HTML conversion of green screens are commercially available from Attachmate Corporation of Bellevue, Wash., USA.
For HTML-based solutions, the user's computer requires only a Web browser, while a Web server brokers all communication between the Web browser and the enterprise server. The Web browser is independent of the ES application, and can therefore be used to display HTML pages generated for several different ES applications. Moreover, the Web server brokers all communication between the ES and the Web browser, and can therefore control the information transmitted to the ES. However, precisely because each transaction must pass through the Web server, the Web server becomes a bottleneck. Another disadvantage is that HTML commands are not capable of producing the rich GUI and functionality available through Java.
A Java-based Web-enabled application has many advantages. The Java client enables distributed processing by using client resources for data processing instead of enterprise server resources. Java clients have a rich graphical user interface and powerful functionality, including the ability to directly access enterprise servers.
However, a particular Java client performs a particular set of functions on an enterprise server. In other words, it is a dedicated client with a single purpose. It is not suitable for accessing other enterprise servers and their applications, or even for accessing the same enterprise server to perform a different set of functions. Therefore, a user wishing to run different applications on one or more enterprise servers requires a dedicated Java client for each application. The size of the Java applet, and therefore the time required to download it, will increase in correlation to the complexity of the application. In the case of a stand-alone Java program or an installed Java applet, the client must be downloaded and reinstalled each time the application is modified.
If the Java client is the product of a Java code generator, such as Jacada from CST of Herzliya, Israel and OpenVista from OpenConnect Systems Inc. of Dallas, Tex., USA, then there are a number of additional disadvantages. The Java code generator generates Java code for each green screen of an ES application. The Java code collectively forms a Java applet which can then be downloaded from a Web server to a users computer running a browser. The size of the Java applet increases for each green screen of the ES application, approximately 5-20 Kilobytes (KB) per green screen. An ES application having 200 green screens, for example, is converted to a Java applet of approximately 1 MegaByte (MB). Downloading such a large Java applet is time-consuming. The user is required to download the entire Java applet even if he may need to use only a few of the screens. Since the Java applet is essentially a screen wrapper of the original green screens of the ES application, other sources of data are not easily integrated into the Java applet.